import { useI18n } from '@/hooks/web/useI18n';

/** 单据窗体的展示模式 */
export enum FormModeEnum {
  /** 确认模式 */
  Ok = 1,
  /** 增加模式 */
  Add = 2,
  /** 编辑模式 */
  Edit = 3,
  /** 删除模式 */
  Delete = 4,
  /** 只读模式 */
  ReadOnly = 5,
  /** 搜索模式 */
  Search = 6,
}

/** 单据窗体的展示模式实体 */
export class FormModeEntity {
  /** 单据窗体的展示模式 */
  FormMode: FormModeEnum;
  /** 单据窗体的展示模式显示描述 */
  Display: string;
  /** 单据窗体的确认按钮显示文本 */
  OkBtnTitle: string;

  constructor(formMode: FormModeEnum) {
    const { t } = useI18n();
    this.FormMode = formMode;
    switch (formMode) {
      case FormModeEnum.Ok:
        // this.Display = '查看';
        // this.OkBtnTitle = '确认';
        this.Display = t('enum.formMode.ok');
        this.OkBtnTitle = t('common.okText');
        break;
      case FormModeEnum.Add:
        // this.Display = '新增';
        // this.OkBtnTitle = '新增';
        this.Display = t('enum.formMode.add');
        this.OkBtnTitle = t('common.addText');
        break;
      case FormModeEnum.Edit:
        // this.Display = '编辑';
        // this.OkBtnTitle = '更新';
        this.Display = t('enum.formMode.edit');
        this.OkBtnTitle = t('common.updateText');
        break;
      case FormModeEnum.Delete:
        // this.Display = '删除';
        // this.OkBtnTitle = '删除';
        this.Display = t('enum.formMode.delete');
        this.OkBtnTitle = t('common.delText');
        break;
      case FormModeEnum.ReadOnly:
        // this.Display = '查看';
        // this.OkBtnTitle = '确认';
        this.Display = t('enum.formMode.readOnly');
        this.OkBtnTitle = t('common.okText');
        break;
      case FormModeEnum.Search:
        // this.Display = '搜索';
        // this.OkBtnTitle = '搜索';
        this.Display = t('enum.formMode.search');
        this.OkBtnTitle = t('common.searchText');
        break;
      default:
        // this.Display = '查看';
        // this.OkBtnTitle = '确认';
        this.Display = t('enum.formMode.ok');
        this.OkBtnTitle = t('common.okText');
        break;
    }
  }
}
